Skip to main content

100总结

为什么通过以下命令可以初始化 egg.js 项目

npm init egg --type=simple

这个有些像 "第三周 commander使用 -> commander 厉害的功能 -> program.command() 的第二个参数:描述参数" 中讲到的功能。

这里实际是下载并执行 create-egg 脚手架,后面的参数将传入 create-egg 脚手架

真实域名和ip端口号的映射修改

  • 修改host文件
  • 使用 switchHosts 软件,管理host文件

MongoDB 启动

mongod --dbpath=/Users/jolly/data/db

mongodbmongoose

两者都可以帮助 Node.js 进行数据库操作,但 mongoose 是在 mongodb 基础上,再次封装的。

ANSI

ansi-escapes 全称 ANSI-escape-code ANSI转义序列

ANSI escape sequences(ANSI转义序列)在终端中通过转义字符实现一些特殊操作的规范。特殊操作:光标上移、下移、左移,字体样式颜色改变等操作

ANSI 规则使用

console.log('\x1B[41m\x1B[4m%s\x1B[0m', 'your name:');
console.log('\x1B[2B%s', 'your name2:'); // 光标下移两行再输出
  • '\x1B'
    • \x 表示16进制
    • 1B 是固定写法
  • 41 是在 ANSI-escape-code 中 'Colors' 部分查到的代码。表示红色背景
  • \x1B[0m 是将显示样式还原
  • 4m 表示下划线
  • m 表示 SGR,设置显示属性,见 ANSI-escape-code 中的 Terminal output sequences

rxjs

响应式扩展库,实现异步。形式上跟 promise 相似

const { range } = rxjs;
const { map, filter } = rxjs.operators;

const pipe = range(1, 200).pipe(
filter(x => x % 2 === 1),
map(x => x + x)
);
pipe.subscribe(x => console.log(x));

可以将 pipe 返回给用户,让用户实现自己想要的逻辑。

知识点

  • Array 对象的 find 方法
    • find() 方法返回通过测试(函数内判断)的数组的第一个元素的值。
    • find() 方法为数组中的每个元素都调用一次函数执行:
      • 当数组中的元素在测试条件时返回 true 时, find() 返回符合条件的元素,之后的值不会再调用执行函数。
      • 如果没有符合条件的元素返回 undefined
  • async 函数的 try {} catch{} 中,tryawait 中的报错,可以被 catch 捕获。